[新機能]Snowsight上でテーブル・ビューなどオブジェクト間のデータリネージを見ることができるようになりました

[新機能]Snowsight上でテーブル・ビューなどオブジェクト間のデータリネージを見ることができるようになりました

Clock Icon2024.11.05

さがらです。

Snowflakeの新機能として、Snowsight上でテーブル・ビューなどオブジェクト間のデータリネージを見ることができるようになりました。(2024年11月5日時点ではプレビュー機能となります。)

https://docs.snowflake.com/en/release-notes/2024/other/2024-11-04-data-lineage

https://docs.snowflake.com/en/user-guide/ui-snowsight-lineage

簡素な内容になりますが、試してみたので本記事でその内容をまとめてみます。

サポートしているオブジェクト

公式ドキュメントによると、2024年11月5日時点では以下のオブジェクトをサポートしているとのことです。

通常のテーブルやビューだけでなく、StageやML関係のFeature ViewやModelもサポートしているのは嬉しいですね!

  • Table
  • Dynamic table
  • External table
  • View
  • Materialized view
  • Stage
  • Feature view
  • Dataset
  • Model

必要な権限

Snowsight上でリネージを見るには、VIEW LINEAGEというアカウントレベルの権限が必要となります。

下記は公式ドキュメントからの引用ですが、このようなクエリで権限を付与してあげる必要があります。

USE ROLE ACCOUNTADMIN;
CREATE ROLE lineage_role;
GRANT VIEW LINEAGE ON ACCOUNT TO ROLE lineage_role;
GRANT SELECT ON mydb.sch.mytable TO ROLE lineage_role;

検証する環境

下図のように、dbtを用いてテーブルとビューを構成している場合、どのようにSnowsight上でリネージを見ることが出来るかを確認してみます。(リネージの確認前にdbtからビルドを行いました。)

2024-11-05_10h31_45

リネージを確認してみた

Snowflakeにログインして、リネージを確認してみます。

対象のテーブル・ビューを開き、Lineageタブを押すと下図のように表示されます。

2024-11-05_10h34_50

左側の+を押すと、もう一つ前の参照しているテーブル・ビューを確認することが出来ます。

2024-11-05_10h38_20

2024-11-05_10h38_46

最後まで展開すると、このような形で見ることが出来ます。

2024-11-05_10h43_43

また、対象のテーブル・ビューを押すと下図のようにカラム名など詳細情報が表示されます。

2024-11-05_10h44_51

各カラムを選択すると、なんとカラムレベルの依存関係まで確認することが可能です。DISTANCE列では、このテーブル・ビューを基準にどれだけ上流・下流のオブジェクトを参照しているかがわかるようになっています。(「1」だと直接参照関係があることを意味している。)

2024-11-05_10h45_35

2024-11-05_10h46_00

最後に

とても簡素な内容でしたが、Snowsight上でテーブル・ビューなどオブジェクト間のデータリネージを見ることができるようになったので、試してみてその内容をまとめてみました。

Snowflakeだけでこのレベルのリネージが見れてしまうのは純粋にすごいなと感じました!これは使う場面が増えそうです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.